/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pkgModuloPrincipal.pkgFachadaPrincipal;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URISyntaxException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import org.jdom2.JDOMException;
import pkgModuloPrincipal.pkgConfiguracionRegional.GestorConfigRegional;
import pkgModuloPrincipal.pkgFachadaPrincipal.pkgOpcionSistema.MetodoPyramid;
import pkgModuloPrincipal.pkgFachadaPrincipal.pkgOpcionSistema.OpcionSistema;
import pkgUtil.pkgFrameworkXML.pkgSupport.XmlReaderException;
import pkgUtil.pkgFrameworkXML.pkgSupport.XmlWriterException;

/**
 *
 * @author Administrador
 */
public final class GestorPrincipalSistema {
    
    private HashMap<OpcionSistema,OpcionSistema> hmOpciones;
    
    
    public GestorPrincipalSistema() {
      
      hmOpciones=new HashMap<OpcionSistema, OpcionSistema>();
      
    }
    
    public void cargarOpcionesSistema(){
        MetodoPyramid mPyramid=new MetodoPyramid();
        hmOpciones.put(mPyramid, mPyramid);
    }
    
    public Iterator<OpcionSistema> getOpcionesSistemas(){
      return hmOpciones.values().iterator();
    }
    
    public void ejecutarOpcionSistema(OpcionSistema opcSistema){
       
       OpcionSistema opc=hmOpciones.get(opcSistema);
       if(opc==null)return;
       opc.ejecutarOpcion();
    }
    
    public void setConfiguracionRegional() throws JDOMException, FileNotFoundException, IOException, XmlReaderException, XmlWriterException, URISyntaxException, Exception{
      GestorConfigRegional gestorConfigRegional=new GestorConfigRegional();
      if(!gestorConfigRegional.existeContextXml()){
        gestorConfigRegional.crearXml_ConfiguracionReg_Predeterminada();
      }
      gestorConfigRegional.setConfigContextApp();
    }
    
    public void setConfiguracionRegionalPorBD() throws SQLException {
      GestorConfigRegional gestorConfigRegional=new GestorConfigRegional();
      gestorConfigRegional.setConfigContextAppByJavaDB();
    }
}
